package br.uniriotec.pssgbd.unterhaltung.model.dao;


import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import java.util.ArrayList;
import java.util.List;


import br.uniriotec.pssgbd.unterhaltung.model.entidade.relacionadaDegustacao.ResultadoRelatorioDegustacao;

public class RelatorioDegustacaoDAO extends GenericDAO {
	
	private String sqlSelect = "SELECT nome_estab, nome_degust, preco_degust, nome_prato, preco_prato, nome_rotulo, preco_rotulo from view_relatorio_degustacao ";
	
	ResultadoRelatorioDegustacao instanciaRelatorio= null; 
	
    
	public List<ResultadoRelatorioDegustacao> obterRelatorioDegustacoes(String sqlWhere) throws SQLException, ClassNotFoundException{
		this.criaConexao(false);

		String sqlCompleta = sqlSelect + sqlWhere;

		PreparedStatement stmt = null;
		ResultSet rs = null;
		List<ResultadoRelatorioDegustacao> relatorioDegustacao = new ArrayList<ResultadoRelatorioDegustacao>();
		
        
        
		try{
			stmt = getConnection().prepareStatement(sqlCompleta);
			rs = stmt.executeQuery();
			while (rs.next()){
				
				instanciaRelatorio = new ResultadoRelatorioDegustacao ();
				instanciaRelatorio.setNomeRestaurante(rs.getString("nome_estab"));
				instanciaRelatorio.setNomeDegustacao(rs.getString("nome_degust"));
				instanciaRelatorio.setPrecoDegustacao(rs.getDouble("preco_degust"));
				instanciaRelatorio.setNomePrato(rs.getString("nome_prato"));
				instanciaRelatorio.setPrecoPrato(rs.getDouble("preco_prato"));
				instanciaRelatorio.setNomeRotulo(rs.getString("nome_rotulo"));
				instanciaRelatorio.setPrecoRotulo(rs.getDouble("preco_rotulo"));				
				
				relatorioDegustacao.add(instanciaRelatorio);
                								
			}
			
			

		}

		catch(SQLException e){
			throw e;
		}

		finally{
			try{
				stmt.close();
				rs.close();
				this.fechaConexao();
			} 
			catch (SQLException e) {
				throw e;
			}
		}

		return relatorioDegustacao;
	}
	
}
	






